package com.duck.communication.dao;

import com.duck.communication.domain.dto.GetCommentDto;
import com.duck.communication.domain.vo.GetCommentVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;

@Mapper
public interface CommentDao {
    /**
     * 添加评论
     * @param comment 评论
     * @return 判断是否添加成功
     */
    Integer addComment(HashMap<String,Object> comment);

    /**
     * 展示所有顶级评论（无父评论的评论）
     * @param getCommentDto 带有分页的入参
     * @return 所有父级评论
     */
    List<GetCommentVo> getAllRoot (GetCommentDto getCommentDto);

    /**
     * 获取某条父评论（parentCommentId）下的直接子评论
     * @param parentCommentId 父评论
     * @return 评论列表
     */
    List<GetCommentVo> getChildren (String parentCommentId, String postId);

    /**
     * 评论总数
     * @return 数量
     */
    Integer commentCount(String postId);
}
